using System;
using ns27;

namespace Triton.Game.Mapping
{
	[Attribute38("DeckDbfRecord")]
	public class DeckDbfRecord : DbfRecord
	{
		public string m_NoteName => method_4("m_NoteName");

		public int m_TopCardId => method_2<int>("m_TopCardId");

		public DbfLocValue m_Name => method_3<DbfLocValue>("m_Name");

		public DbfLocValue m_Description => method_3<DbfLocValue>("m_Description");

		public string NoteName => method_13("get_NoteName");

		public int TopCardId => method_11<int>("get_TopCardId", Array.Empty<object>());

		public DbfLocValue Name => method_14<DbfLocValue>("get_Name", Array.Empty<object>());

		public DbfLocValue Description => method_14<DbfLocValue>("get_Description", Array.Empty<object>());

		public DeckDbfRecord(IntPtr address, string className)
			: base(address, className)
		{
		}

		public DeckDbfRecord(IntPtr address)
			: this(address, "DeckDbfRecord")
		{
		}

		public new void StripUnusedLocales()
		{
			method_8("StripUnusedLocales");
		}

		public void SetNoteName(string v)
		{
			method_8("SetNoteName", v);
		}

		public void SetTopCardId(int v)
		{
			method_8("SetTopCardId", v);
		}

		public void SetName(DbfLocValue v)
		{
			method_8("SetName", v);
		}

		public void SetDescription(DbfLocValue v)
		{
			method_8("SetDescription", v);
		}

		public new object GetVar(string name)
		{
			return method_14<object>("GetVar", new object[1] { name });
		}

		public new void SetVar(string name, object val)
		{
			method_8("SetVar", name, val);
		}

		public new Type GetVarType(string name)
		{
			return method_14<Type>("GetVarType", new object[1] { name });
		}
	}
}
